Search files and folders in drive.
  • 12 May 2026
  • 7 Minutes to read
  • Contributors
  • Dark
    Light

Search files and folders in drive.

  • Dark
    Light

Article summary

Get
/v3/projects/{project_id}/drive/search

Performs a full-text search across file names in the project drive. Supports filtering by userIds, date range (filterFromDate/filterToDate), filterTags, and an allowImagesOnly flag. Results are paginated. For private or mixed-visibility projects, file URLs include a time-limited SAS token by default. Requires ViewDrive permission.

Security
OAuth

All V3 endpoints require a Bearer token. Generate tokens in the Document360 portal under Settings > API Tokens. Tokens are project-scoped, require the customerApi scope, and do not expire by default. Tokens can be revoked at any time from the portal. Include the token in every request: Authorization: Bearer <your-token>. Alternatively, use the Authorize button below to sign in via OAuth2 Authorization Code flow with PKCE.

FlowAuthorization Code
Authorization URLhttps://identity.document360.net/connect/authorize
Token URLhttps://identity.document360.net/connect/token
Scopes:
customerApiDocument360 Customer API
Path parameters
project_id
string (uuid) Required

The unique identifier of the project. Retrieve project IDs from GET /v3/projects.

Example9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d
Query parameters
search_keyword
string

The text keyword to search for in file and folder names.

page
integer (int32)

Page number (1-based). Defaults to 1.

Minimum1
Default1
page_size
integer (int32)

Number of results per page. Defaults to 25. Maximum 100.

Minimum1
Maximum100
Default25
allow_images_only
boolean

When set to true, restricts results to image files only. Defaults to false.

Defaultfalse
user_ids
array of string

Filter results to files uploaded by the specified user identifiers.

filter_from_date
string (date-time)

Filter results to files updated on or after this date (ISO 8601 format).

filter_to_date
string (date-time)

Filter results to files updated on or before this date (ISO 8601 format).

filter_tags
array of string

Filter results to files tagged with the specified tag identifiers.

cursor
string

Opaque cursor from a previous response's next_cursor. When provided, page is ignored.

include_total_count
boolean

Set to true to include total_count in the response. Default: false.

Defaultfalse
Responses
200

Search results retrieved successfully.

Search results

Returns paginated search results for files matching the query

{
  "data": [
    {
      "id": "d0e1f2a3-ef01-2345-6789-0abcdef01234",
      "file_name": "api-workflow-diagram.svg",
      "file_type": "image/svg+xml",
      "file_url": "https://cdn.document360.io/project/images/api-workflow-diagram.svg",
      "modified_at": "2025-09-12T08:45:00Z",
      "updated_by": "[email protected]",
      "size": "45 KB",
      "height": "600",
      "width": "800",
      "parent_folder_id": "c3d4e5f6-789a-bcde-f012-3456789012cd",
      "title": "API Workflow Diagram",
      "alternative_text": "Diagram showing the API request-response workflow",
      "tags": [
        {
          "id": "e1f2a3b4-f012-3456-789a-bcdef0123456",
          "name": "api"
        },
        {
          "id": "f2a3b4c5-0123-4567-89ab-cdef01234567",
          "name": "diagram"
        }
      ],
      "thumbnail_url": "https://cdn.document360.io/project/thumbnails/api-workflow-diagram.png",
      "is_starred": false
    }
  ],
  "pagination": {
    "page": 1,
    "page_size": 20,
    "total_count": 1,
    "has_more": false,
    "next_cursor": null
  },
  "success": true,
  "request_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "errors": null,
  "warnings": null
}
Expand All
object

Paginated API response containing a list of items.

data
Array of object (FileResponse)

List of items for the current page.

object

Represents a file stored in the Drive file manager.

id
string (uuid) | null

Unique identifier of the file.

Example9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d
file_name
string | null

Original name of the uploaded file including extension.

Examplescreenshot.png
file_type
string | null

MIME type or file extension of the file.

Exampleimage/png
file_url
string | null

Public URL to access or download the file. For private or mixed-visibility projects, a time-limited SAS token is automatically appended.

modified_at
string (date-time)

Date and time when the file was last modified.

updated_by
string | null

User ID of the person who last modified the file.

size
string | null

File size as a human-readable string (e.g., "2.5 MB").

Example2.5 MB
height
string | null

Height of the image in pixels. Applicable only for image files.

Example1080
width
string | null

Width of the image in pixels. Applicable only for image files.

Example1920
parent_folder_id
string | null

Unique identifier of the folder containing this file. Retrieve folder IDs from GET /v3/projects/{projectId}/drive/folders.

title
string | null

User-assigned display title for the file.

alternative_text
string | null

Alternative text description for the file, used for accessibility.

tags
Array of object (TagResponse) | null

Tags associated with this file for filtering and organization.

object

Represents a tag used to categorize and filter files in the Drive.

id
string (uuid) | null

Unique identifier of the tag.

Example9a3b4c5d-6e7f-8a9b-0c1d-2e3f4a5b6c7d
name
string | null

Display name of the tag.

Exampleproduct
thumbnail_url
string | null

URL to a smaller thumbnail preview of the file. For private or mixed-visibility projects, a time-limited SAS token is automatically appended.

is_starred
boolean

Whether this file is marked as starred/favorited by the current user.

pagination
object

Pagination metadata.

page
integer (int32)

Current page number (1-based). Returns 0 when using cursor-based pagination.

page_size
integer (int32)

Number of items per page.

total_count
integer (int64) | null

Total number of items across all pages. Only populated when include_total_count=true is specified in the request.

has_more
boolean

Whether additional pages are available.

next_cursor
string | null

Opaque cursor to retrieve the next page of results. Pass this value as the cursor query parameter. Null when there are no more pages.

success
boolean

Whether the API request was successful.

request_id
string

Unique identifier for request tracing and correlation.

Min length1
errors
Array of object (ApiError) | null

List of errors if the request failed.

object

Represents an error returned by the API.

code
string

Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).

Min length1
message
string

Human-readable error message.

Min length1
field
string | null

The request field that caused the error, if applicable.

details
string | null

Additional context about the error.

warnings
Array of object (ApiWarning) | null

List of non-fatal warnings from the request.

object

Represents a non-fatal warning from the API.

code
string

Machine-readable warning code.

Min length1
message
string

Human-readable warning message.

Min length1
401

Authentication token is missing or invalid.

Headers
WWW-Authenticate
string
Indicates the authentication scheme required. Returns `Bearer` with optional `error` and `error_description` parameters per RFC 6750.
Missing or invalid token

Authentication token is missing or invalid.

{
  "type": "https://developer.document360.com/errors/unauthorized",
  "title": "Unauthorized.",
  "status": 401,
  "detail": "The authentication token is missing or has expired.",
  "instance": null,
  "trace_id": "req_abc123def456",
  "errors": [
    {
      "code": "UNAUTHORIZED",
      "message": "Bearer token is missing or invalid.",
      "field": null,
      "details": null
    }
  ],
  "warnings": null
}
Expand All
object

RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json

type
string

URI reference identifying the error type (links to documentation).

Min length1
title
string

Short human-readable summary of the error type.

Min length1
status
integer (int32)

HTTP status code.

detail
string | null

Human-readable explanation specific to this occurrence.

instance
string | null

URI of the request that generated the error.

trace_id
string | null

Request trace identifier for correlation.

errors
Array of object (ApiError) | null

Structured list of specific errors (extension field).

object

Represents an error returned by the API.

code
string

Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).

Min length1
message
string

Human-readable error message.

Min length1
field
string | null

The request field that caused the error, if applicable.

details
string | null

Additional context about the error.

warnings
Array of object (ApiWarning) | null

Non-fatal warnings (extension field).

object

Represents a non-fatal warning from the API.

code
string

Machine-readable warning code.

Min length1
message
string

Human-readable warning message.

Min length1
429

Rate limit exceeded. Retry after the duration specified in the Retry-After header.

Headers
Retry-After
integer
Number of seconds to wait before retrying the request. Use exponential backoff with jitter for optimal retry behavior.
X-RateLimit-Limit
integer
The maximum number of requests allowed in the current time window. Limits are applied per API token per project.
X-RateLimit-Remaining
integer
The number of requests remaining in the current time window. When this reaches 0, subsequent requests will receive a 429 response.
X-RateLimit-Reset
integer
The UTC epoch timestamp (in seconds) when the current rate limit window resets.
Rate limit exceeded

Rate limit exceeded.

{
  "type": "https://developer.document360.com/errors/too-many-requests",
  "title": "Too Many Requests.",
  "status": 429,
  "detail": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
  "instance": null,
  "trace_id": "req_abc123def456",
  "errors": [
    {
      "code": "TOO_MANY_REQUESTS",
      "message": "Rate limit exceeded. Retry after the duration specified in the Retry-After header.",
      "field": null,
      "details": null
    }
  ],
  "warnings": null
}
Expand All
object

RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json

type
string

URI reference identifying the error type (links to documentation).

Min length1
title
string

Short human-readable summary of the error type.

Min length1
status
integer (int32)

HTTP status code.

detail
string | null

Human-readable explanation specific to this occurrence.

instance
string | null

URI of the request that generated the error.

trace_id
string | null

Request trace identifier for correlation.

errors
Array of object (ApiError) | null

Structured list of specific errors (extension field).

object

Represents an error returned by the API.

code
string

Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).

Min length1
message
string

Human-readable error message.

Min length1
field
string | null

The request field that caused the error, if applicable.

details
string | null

Additional context about the error.

warnings
Array of object (ApiWarning) | null

Non-fatal warnings (extension field).

object

Represents a non-fatal warning from the API.

code
string

Machine-readable warning code.

Min length1
message
string

Human-readable warning message.

Min length1
500

An unexpected server error occurred.

Unexpected server error

Unexpected server error.

{
  "type": "https://developer.document360.com/errors/internal-error",
  "title": "Internal Server Error.",
  "status": 500,
  "detail": "An unexpected error occurred. Please try again or contact support.",
  "instance": null,
  "trace_id": "req_abc123def456",
  "errors": [
    {
      "code": "INTERNAL_SERVER_ERROR",
      "message": "An unexpected error occurred.",
      "field": null,
      "details": null
    }
  ],
  "warnings": null
}
Expand All
object

RFC 7807 Problem Details response for V3 API errors. Content-Type: application/problem+json

type
string

URI reference identifying the error type (links to documentation).

Min length1
title
string

Short human-readable summary of the error type.

Min length1
status
integer (int32)

HTTP status code.

detail
string | null

Human-readable explanation specific to this occurrence.

instance
string | null

URI of the request that generated the error.

trace_id
string | null

Request trace identifier for correlation.

errors
Array of object (ApiError) | null

Structured list of specific errors (extension field).

object

Represents an error returned by the API.

code
string

Machine-readable error code (e.g. VALIDATION_ERROR, RESOURCE_NOT_FOUND).

Min length1
message
string

Human-readable error message.

Min length1
field
string | null

The request field that caused the error, if applicable.

details
string | null

Additional context about the error.

warnings
Array of object (ApiWarning) | null

Non-fatal warnings (extension field).

object

Represents a non-fatal warning from the API.

code
string

Machine-readable warning code.

Min length1
message
string

Human-readable warning message.

Min length1

Was this article helpful?